150. mysql備份還原指令

睡睡念

調整自動取得letsEncript的架構,
所以就獨立開了一個server,要把服務移過去。

然後才發現,我的上一任是個很成熟的工程師,最愛造輪子

正文

以下都是由docker建立,也有其他方式可以做。

docker exec percona sh -c "mysqldump -u root -p<password> -A --opt" > backup.sql

當然,也可以選擇進入到container裏面,執行指令,再用docker cp的方式把檔案拉出來。

docker exec -i mysql sh -c "mysql -u root -p<password>" < backup.sql  
mysql -uroot -p<password>
show databases;
show tables;
CREATE USER 'totp-auth'@'localhost' IDENTIFIED BY 'password';

這邊注意,如果使用者是從非本地連過來資料庫的話,不要使用localhost。我忘了這點。

RENAME USER 'totp-auth'@'localhost' TO 'totp-auth'@'%';

承接上一段語法,如果已經新增的話,用此方式修改。
%為任意ip,或者可以改成192.168.1.% 諸如此類的。

GRANT ALL PRIVILEGES ON db.* TO 'totp-auth'@'localhost';

ref.